package com.cac.demo.newCode.materialStorage.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 退库申请
 * </p>
 *
 * @author xz
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("WMS_RETURN_APPLY")
public class WmsReturnApply implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableField("WMS_RETURN_APPLY_ID")
    private String wmsReturnApplyId;

    /**
     * 交接单表ID
     */
    @TableField("WMS_DELIVERY_PLAN_ID")
    private String wmsDeliveryPlanId;

    /**
     * 退库类型:1-无故障退库;2-执行质量通知单退库;3-故障单退库
     */
    @TableField("RETURN_TYPE")
    private String returnType;

    /**
     * 退库状态:1-编辑中;2-待接收;3-待确认;4-保管待接收;5-已驳回;6-结束;7-删除
     */
    @TableField("RETURN_STATUS")
    private String returnStatus;

    /**
     * 退库数量
     */
    @TableField("RETURN_QTY")
    private BigDecimal returnQty;

    /**
     * 退库申请人工号
     */
    @TableField("APPLY_EMP_CODE")
    private String applyEmpCode;

    /**
     * 退库申请时间
     */
    @TableField("APPLY_DATE")
    private Date applyDate;

    /**
     * 退库移交分厂
     */
    @TableField("RETURN_DELIVERY_SHOP")
    private String returnDeliveryShop;

    /**
     * 退库接收分厂
     */
    @TableField("RETURN_RECEIVE_SHOP")
    private String returnReceiveShop;

    /**
     * 责任单位分厂
     */
    @TableField("RESP_SHOP")
    private String respShop;

    /**
     * 退库依据
     */
    @TableField("ACCORDING_NO")
    private String accordingNo;

    /**
     * 故障现象
     */
    @TableField("FAILURE_DESC")
    private String failureDesc;

    /**
     * 实物外观状态
     */
    @TableField("APPEARANCE_STATUS")
    private String appearanceStatus;

    /**
     * 实物配套状态
     */
    @TableField("EQUIP_STATUS")
    private String equipStatus;

    /**
     * 油封期
     */
    @TableField("SEAL_DATE")
    private Date sealDate;

    /**
     * 最长保管期
     */
    @TableField("MAX_STORAGE_DATE")
    private Date maxStorageDate;

    /**
     * 确认人工号
     */
    @TableField("CONFIRM_EMP_CODE")
    private String confirmEmpCode;

    /**
     * 确认时间
     */
    @TableField("CONFIRM_DATE")
    private Date confirmDate;

    /**
     * 移交人工号
     */
    @TableField("DELIVERY_EMP_CODE")
    private String deliveryEmpCode;

    /**
     * 移交时间
     */
    @TableField("DELIVERY_DATE")
    private Date deliveryDate;

    /**
     * 接收人工号
     */
    @TableField("RECEIVE_EMP_CODE")
    private String receiveEmpCode;

    /**
     * 接收时间
     */
    @TableField("RECEIVE_DATE")
    private Date receiveDate;

    /**
     * 驳回人工号
     */
    @TableField("REJECT_EMP_CODE")
    private String rejectEmpCode;

    /**
     * 驳回原因
     */
    @TableField("REJECT_REASON")
    private String rejectReason;

    /**
     * 驳回时间
     */
    @TableField("REJECT_DATE")
    private Date rejectDate;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATION_DATE")
    private Date creationDate;

    /**
     * 最后修改人
     */
    @TableField("LAST_UPDATED_BY")
    private String lastUpdatedBy;

    /**
     * 最后修改时间
     */
    @TableField("LAST_UPDATE_DATE")
    private Date lastUpdateDate;

    /**
     * 最后更新IP
     */
    @TableField("LAST_UPDATE_IP")
    private String lastUpdateIp;

    /**
     * 退库单号
     */
    @TableField("BILL_NO")
    private String billNo;

    /**
     * 退库移交部门编码
     */
    @TableField("RETURN_DELIVERY_ORG_CODE")
    private String returnDeliveryOrgCode;

    /**
     * 退库接收部门编码
     */
    @TableField("RETURN_RECEIVE_ORG_CODE")
    private String returnReceiveOrgCode;

    /**
     * 来源类型1-专业厂交接退库;2-ERP交接退库
     */
    @TableField("SOURCE_TYPE")
    private String sourceType;

    /**
     * 申请部门编码
     */
    @TableField("APPLY_ORG_CODE")
    private String applyOrgCode;

    /**
     * 申请分厂
     */
    @TableField("APPLY_SHOP")
    private String applyShop;

    /**
     * 申请类型1-原接收单位发起;2-原移交单位发起
     */
    @TableField("APPLY_TYPE")
    private String applyType;

    /**
     * 物料编码
     */
    @TableField("ITEM_CODE")
    private String itemCode;

    /**
     * 故障单号
     */
    @TableField("TROUBLE_NO")
    private String troubleNo;

    /**
     * 是否为rfv发送
     */
    @TableField("IS_RFV_CREATE")
    private String isRfvCreate;

    /**
     * 机型编码
     */
    @TableField("PRODUCT_CODE")
    private String productCode;

    /**
     * 批次号
     */
    @TableField("BATCH_NO")
    private String batchNo;

    /**
     * 起始架次
     */
    @TableField("START_LOT_NO")
    private Integer startLotNo;

    /**
     * 截止架次
     */
    @TableField("END_LOT_NO")
    private Integer endLotNo;

    /**
     * 质量编号
     */
    @TableField("QUALITY_CODE")
    private String qualityCode;

    /**
     * 台账ID
     */
    @TableField("WMS_ITEM_INVENTORY_ID")
    private String wmsItemInventoryId;

    /**
     * 是否同步成本系统 
     */
    @TableField("IS_SYN_CB")
    private String isSynCb;

    /**
     * 成本系统业务处理时间
     */
    @TableField("CB_YW_DATE")
    private Date cbYwDate;

    /**
     * 合格证号
     */
    @TableField("MES_CHECK_QUALITICATION_ID")
    private String mesCheckQualiticationId;

    /**
     * 是否按原分工生成返修计划
     */
    @TableField("YN_WORK_LINE_FLAG")
    private String ynWorkLineFlag;

    /**
     * 物料ID
     */
    @TableField("MDS_ITEM_ID")
    private String mdsItemId;

    /**
     * 未退库数量
     */
    @TableField("NOT_RETURN_QTY")
    private BigDecimal notReturnQty;


}
